avatar

D W

Brick walls are there for a reason, they let us prove how badly we want things.

>

Posts List

Mount Windows Partitions on Ubuntu April 12, 2016
最短路径问题 October 10, 2015
Story Continued – 保研之路 September 28, 2015
Reading Computer Systems(A Programmer’s Perspective):2 August 27, 2015
乘法逆元 Euclid定理和中国剩余定理 August 22, 2015
Reading Computer Systems(A Programmer’s Perspective):1 August 14, 2015
Half Way Conclusion of 3rd Grade in College April 23, 2015
git远程代码管理,SSH还是HTTPS April 5, 2015
Moving My Blog to Octopress April 5, 2015
Monster Storm March 25, 2015
Review VCool Website March 23, 2015
Morris Traversal March 22, 2015
豆瓣笔试 March 20, 2015
LeetCode上面的Distinct Subsequences总结 December 20, 2014
LeetCode上面的WordLadder总结 November 25, 2014
Linux文件系统基础 November 14, 2014
第一篇博客 October 15, 2014
Markdown Style Guide March 3, 2014

Moving My Blog to Octopress

| Comments

前言

最近在读侯捷老师的《STL源码剖析》一书,收获简直太大。一激动就想把学的东西赶紧记下来写篇博客,然后想到我以前的博客系统,bug无穷,于是决定亲自配一个Octopress的博客,因为之前的博客是Jekyll的,博文都用的markdown写的,Octopress也是markdown语法,这样可以直接连文字带样式轻松移植过来,想的挺轻松,但是实际操纵起来简直折腾了我好几天。。

在octopress上面搭建博客的过程真的是一波三折,由于原来简介的jekell模板有点问题,我决定把自己亲手重新装一个octopress的博客

双系统的问题

首先,由于双系统,我希望我能在任何一个系统上面写博客并同时push到github上面,由于octopress博客写完博客需要生成一下,我就不得不在两个系统上都装上生成博客需要的ruby环境和javascript环境。

装ruby的一些包时候遇到了一些问题,由于GRW的问题,直接从远程仓库安装安装不了,这时候需要借助淘宝搭建的一个国内的仓库,15min一更新还是很快的

使用如下的命令就可以了

$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l
*** CURRENT SOURCES ***

https://ruby.taobao.org
# 请确保只有 ruby.taobao.org
$ gem install rails

博客主题的选择

octopress对于主题的安装还是很简便的,调了一番,终于找了个比较中意的主题 classic-martinb

$ cd octopress
$ git submodule add git://github.com/fapper/classic-martinb.git .themes/classic-martinb
$ rake install['classic-martinb']
$ rake generate

linux下面我的博客无法找到

不知道什么原因,我的博客在linux的系统(包括我的ubuntu系统和安卓手机)的浏览器上面加载不到。。 后来我发现,我的博客域名是d-w-.github.io,在linux下面ping都无法ping通,应该是三级域名结尾是 - 的原因,我试了一下,只要结尾不是 - ,都可以ping的通。。这个问题还等后续解决,比如买个域名撘过来。。我甚至想把github的用户名给换了

更改了主题或者更新了博客后 rake deploy 的push被rejecte

这个问题一直出现,在stackoverflow上面有各式各样的解答,都可以起到作用,但是我每次deploy都要按照上面的方法执行一遍岂不是太麻烦了。。我观察了一下,原因应该是远程分支有两个,git并不知道push到哪一个的原因,又看了一下octopress的文档,有这么一句

Note: With new repositories, Github sets the default branch based on the branch you push first, and it looks there for the generated site content. If you’re having trouble getting Github to publish your site, go to the admin panel for your repository and make sure that the master branch is the default branch.

看来只要master branch设为了默认分支就好了,这个是不是合适的解决方案还待后续检验。 后来经过我无数次删除repo,重装的循环,终于发现了原因。。是因为windows和Linux的换行符不一样,比如我在Linux下面初始化了一个repo,换行符是LF,然后我到了windows系统下面打开了这个项目目录,想去push,但是windows上面换行符是CRLF,这时候和远程的仓库比对,发现换行符不同。。就会被rejecte,因为git不知道用哪个好。。解决的办法在stack overflow上找到了,只要改一下配置就好,看来git确实强大。

git的SSH验证和HTTPS验证

由于端口的问题,我这边并没有开SSH的端口,都是采用HTTPS验证,在windows端可以直接用github的桌面版,push起来也挺轻松,但是在linux端,由于是HTTPS验证,每次push都要输入用户名和密码,这个问题待解决。

对第三方主题进行更改

既然折腾了就要折腾到底,单纯clone一个别人写好的主题显然不能满足我的要求,毕竟我以前的博客就有一些不错的特技。所以要对fork过来的第三方主题进行改装,来到 .theme 文件夹下面的相应的主题包里面,进行需要的修改,这里需要注意的就是修改结束之后需要再

rake install[name]

一下,这样所做的修改才会生效

添加多说评论系统

这个比较简单,参照了为 Octopress 添加多说评论系统这篇文章,需要注意的一点是文章需要在前面的yml上面注明 comments: true

在文章中添加本地图片

这个是因为我用了泰然网上的两个图片,没想到有防盗链。。只能下载到本地才能正常显示,当然我在文章里面注明了图片的出处,个人认为这种防盗链确实没什么必要。。 参照Octopress在页面和内容中加入代码、图片、带标题图片方法 图片放到 octopress\source\images 里面 通过

    r'<img src="/images/pic_name.png">'

引用就可以了。

Comments